挑戰賽終於寫到第二十天了....加油加油,或許自己分享的零散,
但我的確就是把自己所看到的所學的,再透過自己初步的理解,分享出來給大家,有時候太過艱深的文章實在啃不下去,這時候有簡單介紹,理解過後再去看比較困難的文章,我覺得是比較符合我的XD
希望也能幫助到跟我一樣學習模式的人
我們很常可能要被動執行一個任務。這樣還是相對抽象,我們來舉個例子
ex:
當有會員註冊時,自動發註冊信件mail給對方
當商品出貨時候,自動發出貨通知。
當有特定主題出現新文章的時候通知特定人事。
基本上他就是一個比較被動接受到某個任務有被觸發,接著去通知對應的程式去通知有在條件內的使用者。
希望這樣的解釋有幫助到你一起了解這個東西。
上圖一個最基本的範例
透過 addListener 可以增加新的事件
如果都是同一個事件的話觸發順序則是
emit第二個參數可以傳遞給註冊事件
也可以在.on第二個參數直接放入要執行的匿名函數
事件觸發本身是同步的,但也可以在裡面塞入異步操作
可以透過.off關閉某個註冊事件
使用prependListener 可以在其他事件觸發之前先行觸發
如果想知道某個值到底有幾個聯繫可以使用listenerCount
這些例子希望能幫助你初步了解觀察者模式~
參考資料
一文聊聊Node.js中的EventEmitter模組